package hot_100;

import java.util.ArrayList;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;

public class 子集 {
    public static void main(String[] args) {

    }


    public static List<List<Integer>> binaryBit(int[] nums) {
        List<List<Integer>> res = new ArrayList<>();
        for (int i = 0; i < (1 << nums.length); i++) {
            List<Integer> sub = new ArrayList<>();
            for (int j = 0; j < nums.length; j++)
                if (((i >> j) & 1) == 1) sub.add(nums[j]);
            res.add(sub);
        }
        return res;
    }

//    List<List<Integer>> ans = new ArrayList<>();
//    Deque<Integer> list = new LinkedList<>();
//    int[] numss;
//    int n;
//
//    public List<List<Integer>> subsets(int[] nums) {
//        numss = nums;
//        n = nums.length;
//        Dfs(0);
//        return ans;
//    }
//
//    public void Dfs(int x) {
//        if (x == n) {
//            ans.add(new ArrayList<>(list));
//            return;
//        }
//        Dfs(x + 1);
//        list.addFirst(numss[x]);
//        Dfs(x + 1);
//        list.removeFirst();
//    }
}
